import com.beans.User;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

public class APP {
    public static void main(String[] args) {
//        System.out.println("你好，spring！");

        //1、得到 spring 的 上下文对象: 使用ApplicationContext 方式 来获取Spring 上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

        //2、通过 上下文对象提供的方法，获取 我们自己需要使用的 bean 对象
        // 方法的名字，非常直接 getBean
//        User user = (User)context.getBean("user");

//        User user = context.getBean(User.class);

        User user = context.getBean("user",User.class);


//        // 调用对象里面的方法
        user.sayHi("靓仔~");

// 使用 BeanFactory 方法，来获取 Spring 上下文对象
//        BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
//        // 获取 Bean 对象的方法，和 ApplicationContext 一样。
//        User user = (User)beanFactory.getBean("user");
//        // 使用 Bean 独享，也是一样的。
//        user.sayHi("靓女！");
    }
}
